<?php


namespace app\cms\dto\saas;


use iflow\Container\implement\annotation\tools\data\NotNull;

class saasClientInfo
{

    public int $saas_id = 0;
    protected int $uid = 0;

    #[NotNull(error: 'Saas 服务绑定域名不能为空')]
    public string $saas_domain;
    #[NotNull(error: 'Saas 服务绑定域名别名不能为空')]
    public string $saas_as_domain;
    #[NotNull(error: '租期开始时间不能为空')]
    public int $lease_renewal_time;
    #[NotNull(error: '租期结束时间不能为空')]
    public int $lease_renewal_end_time;

    // ssl证书
    public array $ssl = [];

    #[NotNull(error: '请选择Saas服务器')]
    public int $server_id;
    #[NotNull(error: '请选择Saas数据库服务器')]
    public int $server_db_id;
    #[NotNull(error: '数据库名称不能为空')]
    public string $db_name;
    #[NotNull(error: '数据库密码不能为空')]
    public string $db_password;
    #[NotNull(error: '数据库用户名不能为空')]
    public string $db_user;

    public function getUid()
    {
        if ($this->uid !== 0) return $this->uid;
        return $this->uid = session('userInfo')['uid'];
    }
}